// pages/goods_manage/goods_manage.js
const db=wx.cloud.database();

let isClick = true;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    id:"",//商品类型id
    dialogName: '添加卖场',
    shopTypeList: [],//存放商品类型列表
    goodsList:[],//存放搜索结果的商品列表
    hideFlag: true,//true为隐藏   false为显示
    dis: false,//定义事件方法按钮是否可用
    detailState:false,
    productTypeName:'',//商品类型名称
    name: "",
    code: "",
    save: "",
    number: "",
    picurl: "",
    price:"",
    _id: '',
    searchValue:"",//搜索框中的内容
  },

  // 删除商品
  delGoods: function (event) {
    var id = event.target.dataset.id;
    var _that = this
    wx.showModal({
      title: '删除卖场',
      content: '您确定要删除这个商品吗?',
      showCancel: true,
      cancelText: '取消',
      confirmText: '确定',
      confirmColor: '#17abe3',
      success: function (res) {
        if (res.confirm) {
          // 将执行删除卖场操作
          wx.cloud.callFunction({
            name: 'delProduct',
            data: {
              id
            },
            success: res => {
              wx.showToast({
                title: '删除成功'
              })
              // 再次重新获取全部卖场数据
              // _that.getgoodsList();
              this.findGoods(that.searchValue);
            },
            fail: err => {
              wx.showToast({
                title: '删除失败',
                icon: 'none'
              })
            }
          })

        }
      }
    })

  },
  // 获取所有商品类型
  getGoodsTypeList: function () {
    const _this = this;
    wx.cloud.callFunction({
      name: 'findAllProductType',
      success: function (data) {
        console.log(data)
        _this.setData({
          shopTypeList: data.result.data
        })
        wx.hideLoading({
          success: (res) => {
            console.log("加载结果")
          },
        })
      },
      fail: function (err) {
        console.log(err)
      }
    })
  },
  onLoad: function (options) {
    this.goodsList=[];
    console.log("输出的数据",this.goodsList)
    console.log(!this.goodsList.length>0)
    wx.showLoading({
      title: '加载中……',
    })
    this.getGoodsTypeList();
  },

  // 模糊查询
  handlerSearch(e){
   console.log("e",e)
   var searchValue=e.detail.value
   this.setData({
    searchValue:searchValue
   });

  
   this.findGoods(searchValue);

  },

  findGoods:function(searchValue){

    // 判断输入的值是否为空
    if(searchValue.length<1){
      this.setData({
        goodsList:[]
       });
       wx.showToast({
         title: '请输入商品名称',
         icon:"none"
       })
      return;
    }
    db.collection('product').where({
      name:db.RegExp({
        regexp:".*"+searchValue+".*",
        options:"i"
      })
     }).get({
       success:res=>{
         console.log(res)
         if(res.data.length>0){
          //  里面有数据
          this.setData({
            goodsList:res.data
          })
          console.log("获取到的数据",this.goodsList)
         }else{
          // this.goodsList=[]
          //  里面没有商品数据
         }
       }
     })
  },
   // 修改卖场信息
   modifyGoods: function (event) {
    this.setData({
      dialogName: "修改商品",
      dialogFlag: 2,
      dis: true
    })
    var id = event.target.dataset.id;
    var _that = this
    // 根据id获取数据
    db.collection("product").doc(id).get({
      success: res => {
        console.log(res)
        _that.setData({
          _id: res.data._id,
          name: res.data.name,
          price: res.data.price,
          number: res.data.number,
          id: res.data.productTypeId,
          productTypeName: res.data.productTypeName,
          picurl: res.data.picurl,
          save:res.data.store,
          code:res.data.qr
        })
      },
      fail: err => {
        console.log(err)
      }
    })

    _that.setData({

      hideFlag: false,
    })


  },
  // 隐藏对话框
  hideModal: function () {
    this.setData({
      hideFlag: true
    })
  },

  hiddenDetail(){
    this.setData({
      detailState:false
    })
  },
  // 查看商品详情
  seeDetail(e){
    var id = e.target.dataset.id;
    var _that = this
    this.setData({
      detailState:true
    })

    // 根据id获取数据
    db.collection("product").doc(id).get({
      success: res => {
        console.log(res)
        _that.setData({
          _id: res.data._id,
          name: res.data.name,
          price: res.data.price,
          number: res.data.number,
          id: res.data.productTypeId,
          productTypeName: res.data.productTypeName,
          picurl: res.data.picurl,
          save:res.data.store,
          code:res.data.qr
        })
      },
      fail: err => {
        console.log(err)
      }
    })
  },
   // 单击取消之后
   cancel: function () {
    this.setData({
      hideFlag: true
    })
  },
  // 单击添加图片
  addImg: function () {
    var that = this
    wx.chooseImage({
      count: 1,
      sourceType: ['album', 'camera'],
      success: function (res) {
        var tempFilePaths = res.tempFilePaths;
        // console.log()
        that.handlerUpload(tempFilePaths[0])
        console.log("上传之后的图片地址",that.data.picurl)
        // that.setData({
        //   picurl: tempFilePaths[0]
        // })
      },
    })
  },

  // 上传图片方法
  handlerUpload(fileUrl){
    wx.cloud.uploadFile({
      cloudPath:new Date().getTime()+'.png',//上传到云端的路径
      filePath:fileUrl,
      success:res=>{
        console.log("上传成功",res)
        wx.showToast({
          title: '上传成功',
        })
        this.setData({
          picurl:res.fileID
        })
      },
      fail:err=>{
        console.log(err)
      }
    })
  },
  // 单击确定之后
  acertain: function () {
    var id = this.data.id;
    console.log("产品类型Id", id)
    if (isClick) {
      isClick = false;
      setTimeout(function () {
        isClick = true;
      }, 1000);//一秒内不能重复点击
    } else {
      return;
    }
    var dialogFlag = this.data.dialogFlag;
    console.log(dialogFlag)
    // 使用dialogFlag 判断这个对话框是修改的对话框还是添加卖场的对话框
    // 1  是添加卖场的对话框
    // 2  修改的对话框
    var _that = this
    if (this.data.name.length < 1) {
      wx.showToast({
        title: '商品名称不能为空',
        icon: 'none',
        mask: true
      })
      return false
    }
    if (this.data.code.length < 1) {
      wx.showToast({
        title: '商品条码不能为空',
        icon: 'none',
        mask: true
      })
      return false
    }
    if (this.data.save.length < 1) {
      wx.showToast({
        title: '商品库存不能为空',
        icon: 'none',
        mask: true
      })
      return false
    }
    if (this.data.number.length < 1) {
      wx.showToast({
        title: '商品编号不能为空',
        icon: 'none',
        mask: true
      })
      return false
    }
     var reg = /^[a-zA-Z0-9]{4,10}$/;//用于规范编号
    if (!reg.test(this.data.number)) {
      wx.showToast({
        title: '商品编号不能只能为数字或字母(宽度在4-9)',
        icon: 'none',
        mask: true
      })
      return false
    }

    var name = this.data.name;
    var code = this.data.code;
    var save = this.data.save;
    var number = this.data.number;
    var price=this.data.price;
    var code=this.data.code
    var picurl = this.data.picurl;
    console.log("获取的图片地址",picurl)
    var _id = this.data._id;
    var productTypeName = this.data.productTypeName



    this.setData({
      dis: true
    })


    // console.log(coll)
    // 添加数据到云数据库
    // 如果是1 添加卖场
   
      // 如果是2 就是修改
      wx.cloud.callFunction({
        name: "updateProduct",
        data: {
          newData: {
            id: _id,
            number,
            qr:code,
            name,
            price,
            store:save,
            picurl
          }
        },
        success: res => {
          console.log("我是输出信息", res)
          wx.showToast({
            title: '修改成功',
          })
          _that.setData({
            hideFlag: true
          })
          //  重新获取全部卖场列表
          _that.findGoods(_that.searchValue);
          return false
        },
        fail: err => {
          wx.showToast({
            title: '修改失败',
            icon: 'none'

          })
        }
      })
    


    this.setData({
      dis: false
    })
  },
})